package cn.geekyspace.scanhive.domain.service;

import cn.geekyspace.scanhive.application.dto.query.QueryData;
import cn.geekyspace.scanhive.domain.entity.CleaningData;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

public interface CleaningDataService extends IService<CleaningData> {

    /**
     * 保存二维码扫描数据
     * @param qrCode 条码内容
     * @return 保存后的 CleaningData 实体
     */
    CleaningData saveQrCode(String qrCode, String operatorUser);

    /**
     * 根据 PLC 回传的数据更新清洗记录
     * @param data 包含 PLC 回传的清洗、漂洗、烘干等数据
     */
    void updateByPlcData(CleaningData data);

    /**
     * 分页查询历史清洗记录
     * @param query 查询条件（包含分页参数和筛选条件）
     * @return 分页结果
     */
    Page<CleaningData> pageQuery(QueryData query);

}

